package model

import "github.com/gogf/gf/v2/util/gmeta"

type CompanyIdRes struct {
	Id int64 `json:"id"  dc:"公司id"`
}

type CompanyIdReq struct {
	Id int64 `json:"id"  dc:"公司id"    v:"required#公司ID必填"`
}

// CompanyInfoReq 公司基础信息
type CompanyInfoReq struct {
	CompanyName         string   `json:"companyName"  dc:"公司名称"    v:"required|length:5,50#公司名称必填|公司名字应该5~50字之间"`
	CompanyAddress      string   `json:"companyAddress"   dc:"公司地址" v:"required|length:5,150#公司地址必填|公司简介应该5~150字之间"`
	CompanyLogo         string   `json:"companyLogo"   dc:"公司logo" v:"url#logo不是一个正确的网络地址"`
	CompanyTelephone    string   `json:"companyTelephone"  dc:"公司电话"  v:"telephone#不是一个正确的电话号码"`
	CompanyPhone        string   `json:"companyPhone"  dc:"公司手机号"  v:"required|phone#公司手机必填|不是一个正确的手机号"`
	CompanyContacts     string   `json:"companyContacts"   dc:"公司法人"  v:"required#公司法人必填"`
	CompanyLongitude    float64  `json:"companyLongitude" dc:"公司经度"  v:"required#公司经度必填" `
	CompanyLatitude     float64  `json:"companyLatitude"  dc:"公司纬度"   v:"required#公司纬度必填"  `
	CompanyIntroduction string   `json:"companyIntroduction"   dc:"公司简介" v:"length:0,250#公司简介不超过250字"`
	CompanyImages       []string `json:"companyImages"   dc:"公司图片集"`
}

// CompanyIdAndInfoRes 公司详情和id
type CompanyIdAndInfoRes struct {
	gmeta.Meta `orm:"table:lot_company"`
	CompanyIdReq
	CompanyInfoReq
}

// CompanyDetailsRes 公司详情
type CompanyDetailsRes struct {
	CompanyIdReq
	CompanyInfoReq
	ApplyCompanyReq
}

// AddCompanyRes 新增公司详情
type AddCompanyRes struct {
	CompanyInfoReq
	ApplyCompanyReq
}

// ApplyCompanyReq 审核公司信息
type ApplyCompanyReq struct {
	BusinessLicense   string `json:"businessLicense"  dc:"公司营业执照" v:"required|url#公司营业执照必填|营业执照不是一个正确的网络地址"`
	CompanyCreditCode string `json:"companyCreditCode"  dc:"公司社会信用码" v:"required#公司社会信用码必填"`
	CompanyStatus     int    `json:"companyStatus"  dc:"公司状态 100 待审核  200 已审核   300 已注销  400 审核未通过" v:"required|in:100,200,300#公司状态必填|公司状态须按照枚举传参"`
	CompanyRemark     string `json:"companyRemark"  dc:"公司审核不通过的原因/备注等" v:"length:0,150#公司审核信息应该0~150字之间"`
}

// CompanyInfoRes 公司的基本信息和id
type CompanyInfoRes struct {
	CompanyInfoReq
	CompanyIdRes
}

// DisableCompany 启用和禁用公司
type DisableCompany struct {
	CompanyStatus int64 `json:"companyStatus"  v:"required|in:100,200,300#公司状态必填|公司状态须按照枚举传参" dc:"状态100 待审核  200 已审核   300 已注销  400 审核未通过"`
	Id            int64 `json:"id"  dc:"公司id"    v:"required#公司ID必填"`
}

// SearchCompanyListReq 搜索公司列表
type SearchCompanyListReq struct {
	CompanyStatus int64  `json:"companyStatus"  v:"in:100,200,300,400#公司状态须按照枚举传参" d:"100" dc:"状态100 待审核  200 已审核   300 已注销  400 审核未通过"`
	Id            int64  `json:"id"  dc:"公司id"`
	CompanyName   string `json:"companyName"  dc:"公司名称"    v:"length:0,50#公司名字应该0~50字之间"`
}

// CompanyListRes 公司列表信息
type CompanyListRes struct {
	List []*CompanyDetailsRes `json:"list"  dc:"公司列表"`
	PutPage
}
